package cn.swu.lyx.homework4
import android.os.Bundle
import android.os.SystemClock
import android.view.View
import android.widget.Chronometer
import android.widget.Switch
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity


class TimeActivity : AppCompatActivity() {
    var chr: Chronometer? = null
    var timetag=true
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_time)
        val buttonOk: Switch = findViewById(R.id.buttonOk)
//        buttonOk.setOnClickListener()
//        {
//            chr = findViewById(R.id.chronometer)
//            chr?.setBase(SystemClock.elapsedRealtime())
//            chr?.setFormat("%s")
//            chr?.start()
//            chr?.setOnChronometerTickListener(OnChronometerTickListener {
//                if (SystemClock.elapsedRealtime() - chr?.getBase()!! >= 600000) {
//                    chr?.stop()
//                }
//            })
//        }
        // 添加监听
        buttonOk.setOnCheckedChangeListener { buttonView, isChecked ->
            if (isChecked&&timetag==true) {
                chr = findViewById(R.id.chronometer)
                chr?.setBase(SystemClock.elapsedRealtime())
                chr?.setFormat("%s")
                chr?.start()
            } else {
                //消息弹框设置，用于消息的确认
                if(timetag){
                AlertDialog.Builder(this).apply {
                    setTitle("请确认")
                    setMessage("是否取消计时")
                    setNegativeButton("是的，取消"){
                            dialog,which->chr?.stop()
                        timetag=true
                    }
                    setPositiveButton("不取消，继续计时"){
                            dialog,which-> timetag=false
                        buttonOk.isChecked=true
                    }
                }.show()
            }
                timetag=true
        }
    }
    //setBase();//设置倒数计时器参考的时间。
    // SystemClock.elapsedRealtime();
    // 返回开机后的毫秒数，包括睡眠时间。 setFormat();
    // 设置用于显示的格式字符串。 Chronometer 将显示此字符串，第一个“%s”替换为“MM:SS”或“H:MM:SS”形式的当前计时器值。
    // 如果格式字符串为空，或者您从未调用 setFormat()，则 Chronometer 将简单地以“MM:SS”或“H:MM:SS”形式显示计时器值。 start();
    // 开始向上计数 stop();//停止向上计数 OnChronometerTickListener();//设置计时器变化时调用的监听器。
}}

